package com.example.springioc.service;



import com.example.springioc.dao.UserInfo;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    public void sayHello() {
        System.out.println("Hello World");
    }


    // spring中存了两个UserInfo对象, 使⽤@Autowired会存在问题
    // 使用@Primary、@Qualifier、@Resource三个注解可以解决该问题
    @Autowired
    // 在@Qualifier的value属性中，指定注⼊的bean的名称。
    @Qualifier("u2")

    private UserInfo userInfo;

    public void say(){
        userInfo.info();
        System.out.println(userInfo);
    }


    // 使⽤@Resource注解：是按照bean的名称进⾏注⼊。通过name属性指定要注⼊的bean的名称。
    @Resource(name="u1")
    private UserInfo userInfo1;

    public void say1(){
        userInfo1.info();
        System.out.println(userInfo1);
    }
}
